project(Variadic_Templates_type_trais)
include_directories(../common)
message("C++ Standard: ${CMAKE_CXX_STANDARD}")
# 折叠表达式
add_executable(test_optional  test_optional.cpp)
add_executable(test_lazy  test_lazy.cpp)

add_library(MyDLL SHARED MyDLL.cpp)
# 添加预处理器定义
target_compile_definitions(MyDLL PRIVATE MYDLL_EXPORTS)
#使用 cpp14 编译

add_executable(test_DllParser  test_DllParser.cpp)
set_target_properties(test_DllParser PROPERTIES
     CXX_STANDARD 17
     CXX_STANDARD_REQUIRED ON
 )

add_executable(test_any  test_any.cpp)
set_target_properties(test_any PROPERTIES
     CXX_STANDARD 17
     CXX_STANDARD_REQUIRED ON
 )

add_executable(test_function_traits  test_function_traits.cpp)
set_target_properties(test_function_traits PROPERTIES
     CXX_STANDARD 17
     CXX_STANDARD_REQUIRED ON
 )


add_executable(test_ScopeGuard test_ScopeGuard.cpp)

add_subdirectory(tuple)




